import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

/**
 * Created with IntelliJ IEDA.
 * Description:
 * User:86186
 * Date:2022-08-15
 * Time:21:06
 */
public class JDBCSelect {
    public static void main(String[] args) throws SQLException {
        DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/java105?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("wgz20030828");

        //连接
        Connection connection = dataSource.getConnection();
        System.out.println(connection);


        // ? 作为占位符. 占个位置, 后面会替换成其他的值.
        String sql ="select * from student";
        //预处理
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
//        preparedStatement.setInt(1,1);

        //    查询语句要使用 executeQuery 来完成了.
        //    返回的结果是 ResultSet . 结果集. 里面是一个 "表" 这样的数据结构.
        //    一个表里有很多行, 每一行有很多列~~

        ResultSet resultSet = preparedStatement.executeQuery();

        //通过遍历来展示数据
        while (resultSet.next()){
            int id = resultSet.getInt(1);
            String name = resultSet.getString(2);
            System.out.println("id = " + id + ", name =" + name);
        }

        // 6. 释放资源
        resultSet.close();
        preparedStatement.close();
        connection.close();


    }
}



